import numpy as np
from PIL import Image
import cv2
im_pil = Image.open('test.png')
np_im_pillow = np.asarray(im_pil)
# RBG,数字越高代表亮度越强
print(im_pil.size, np_im_pillow.shape)
# np_im_pillow.shape 中最后一个值为4，表示图像是 RGBA 格式，而不是 RGB 格式。
# 这个额外的通道是 Alpha 通道，用于表示图像的透明度（即“透明通道”）。
# RGB 图像有三个通道：红色、绿色、蓝色 (3)。
# RGBA 图像有四个通道：红色、绿色、蓝色和透明度 (4)
# np_im_pillow.shape == 4
im_cv2 = cv2.imread('test.png')
# BGR
print(type(im_cv2))

# RGBA
im_cv2_RGBA = cv2.imread('test.png', cv2.IMREAD_UNCHANGED)
print(im_cv2.size, im_cv2.shape)
print(im_cv2_RGBA.size, im_cv2_RGBA.shape)


im_pillow_c1 = np_im_pillow[:, :, 0]
im_pillow_c2 = np_im_pillow[:, :, 1]
im_pillow_c3 = np_im_pillow[:, :, 2]
print(im_pillow_c1)
print(im_pillow_c2)
print(im_pillow_c3)

zeros = np.zeros((np_im_pillow.shape[0], np_im_pillow.shape[1], 2))
print(zeros.shape)

print(im_pillow_c1.shape)
print(im_pillow_c2.shape)
print(im_pillow_c3.shape)
# im_pillow_cx的维度为2, (116, 318)
# zeros的维度为3,(116, 318, 2)
# 要合并要转成一样的维度,
im_c1 = np.concatenate((im_pillow_c1, zeros), axis=2)
im_c2 = np.concatenate((im_pillow_c2, zeros), axis=2)
im_c3 = np.concatenate((im_pillow_c3, zeros), axis=2)























